#ifndef SYNCED_CURRENT_COVARIANCE_H_
#define SYNCED_CURRENT_COVARIANCE_H_

#include <boost/thread/mutex.hpp>
#include <gsl/gsl_matrix.h>
#include <libplayerinterface/player.h>

using boost::mutex;

class SyncedCurrentCovariance {
private:
  mutex mutex_;
  gsl_matrix *current_covariance_;
public:
  SyncedCurrentCovariance();
  ~SyncedCurrentCovariance();

  void set_current_covariance(const gsl_matrix *current_covariance);

  // This is a getter. The caller must have his own matrix instance and
  // its content is overwritten by this method.
  void current_covariance(gsl_matrix* current_covariance);
};
#endif
